1
Aula 7: Introdução a Módulos em Python
EvoClass-AI001Aula 7
00:00

Introdução a Módulos em Python

Em Python, um Módulo é um arquivo que termina com .py que serve como um contêiner para componentes de código reutilizáveis (funções, classes, variáveis). Módulos são a base da arquitetura de programas em grande escala, permitindo que desenvolvedores gerenciem a complexidade e melhorem a manutenção do código ao separar logicamente as definições. Esse processo é semelhante à forma como conceitos matemáticos são divididos em campos especializados (por exemplo, $f(x)$ é definido em um domínio específico $D$).

1. O Propósito do Módulo

Módulos atendem três necessidades críticas no desenvolvimento:

  • Promovendo Reutilização de Código em múltiplos projetos sem precisar reescrever definições.
  • Garantindo clareza e organização ao particionar programas grandes em arquivos relacionados e gerenciáveis.
  • Evitando Colisões de Nomes definindo namespaces separados para funções e variáveis.

Exemplo Conceitual:

Imagine ter um arquivo chamado utility.py contendo funções para calcular resultados matemáticos. Todo esse arquivo é o módulo, e essas funções são seu conteúdo acessível.

2. Métodos de Importação

A instrução Python import torna definições externas disponíveis para seu script atual. O método escolhido determina como você acessa os componentes e como o namespace do programa atual é afetado.

  • Importação Padrão:import nome_do_módulo. Exige acesso ao conteúdo usando nome_do_módulo.função().
  • Importação Seletiva:from módulo import função. Permite o uso direto de função() sem o prefixo do módulo.
  • Importação com Apelido:import módulo comoapelido. Fornece um apelido mais curto e específico do projeto para conveniência (por exemplo, import numpy como np).
Foco na Biblioteca Padrão
Python inclui uma extensa Biblioteca Padrão de módulos embutidos (como 'os', 'sys', 'random', 'math'). Aprender a utilizar esses módulos reutilizáveis é essencial para um desenvolvimento eficiente e economiza tempo significativo.
Questão 1
Se você usar import math, como você deve chamar a função sqrt para calcular $\sqrt{25}$?
sqrt(25)
math.sqrt(25)
math::sqrt(25)
use math sqrt
Questão 2
Qual benefício do uso de módulos resolve o problema de ter múltiplas funções com o nome process_data em um aplicativo grande?
Velocidade de execução do código
Evitando Colisões de Nomes
Depuração automática
Questão 3
O que acontece com um arquivo de módulo na segunda vez que você tenta import ele no mesmo programa em execução?
Ele é importado novamente, executando todo o código de nível superior.
A importação falha com um erro.
Python reconhece que já está carregado e pula a execução.
Apenas as variáveis são recarregadas.